package es.demo.po;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.*;

import java.util.Date;

@Data
@AllArgsConstructor
@NoArgsConstructor
//这个对象类型是一个 文档业务数据模型 写入索引 student不能大写 不能使用禁用特殊符号@#$
@Document(indexName="student")
//po第一次写入索引 索引不存在的时候 自动创建 使用默认参数可以通过注解影响创建参数
@Setting(shards = 1,replicas = 0)
public class StudentEsPO {
    //业务属性 id name profile 索引映射 默认 修改可以在属性添加注解
    @Field(type= FieldType.Integer)
    private Integer id;
    //在业务中有很多字符串属性 到底使用keyword 还是text
    //text: 全文搜索的属性 标题 简介 内容
    //keyword: 不做全文搜索的属性 url 编码uuid 手机号
    @Field(type=FieldType.Keyword)
    private String name;
    @Field(type=FieldType.Text,analyzer = "ik_max_word")
    private String profile;
    //生日 yyyy-MM-dd  yyyy-MM-dd HH:mm:ss
    @Field(type=FieldType.Date,format= DateFormat.date_hour_minute_second)
    private Date birthday;
}
